package com.molichuxing.services.property;

/**
 * @Author: renzhengyu
 * @Description:
 * 消息类型（
 * 1：支付成功通知，2：提车成功通知，3：还款成功通知，4：还款提醒通知，5：还款逾期通知，6：驾驶证审核通知，
 * 7：违章提醒，8：订单审核结果通知，9：保养提醒，10：保养审核结果通知，11：报备确认结果通知，12：结案确认结果通知
 * 13：续订成功通知，14：加购成功通知，15：缴费成功通知)
 * @Date: Created in 10:18 2019/10/10
 * @Modified By:
 **/
public enum MessageCenterTypeEnum {
    /**
     * 支付成功通知
     */
    SUCCESSFUL_PAYMENT_NOTICE(1, "支付成功通知"),

    /**
     * 提车成功通知
     */
    CARRIAGE_SUCCESS_NOTICE(2, "提车成功通知"),

    /**
     * 还款成功通知
     */
    SUCCESSFUL_REPAYMENT_NOTICE(3, "还款成功通知"),

    /**
     * 还款提醒通知
     */
    REIMBURSEMENT_REMINDER_NOTICE(4, "还款提醒通知"),

    /**
     * 还款逾期通知
     */
    OVERDUE_REPAYMENT_NOTICE(5, "还款逾期通知"),

    /**
     * 驾驶证审核通知
     */
    DRIVING_LICENSE_AUDIT_NOTICE(6, "驾驶证审核通知"),

    /**
     * 违章提醒
     */
    VIOLATION_REMINDER(7, "违章提醒"),

    /**
     * 订单审核结果通知
     */
    ORDER_AUDIT_RESULTS_NOTICE(8, "订单审核结果通知"),

    /**
     * 保养提醒
     */
    MAINTENANCE_REMINDER(9, "保养提醒"),

    /**
     * 保养审核结果通知
     */
    MAINTENANCE_AUDIT_RESULTS_NOTICE(10, "保养审核结果通知"),

    /**
     * 报备确认结果通知
     */
    REPORT_CONFIRMATION_RESULTS_NOTICE(11, "报备确认结果通知"),

    /**
     * 结案确认结果通知
     */
    FINAL_CONFIRMATION_RESULTS_NOTICE(12, "结案确认结果通知"),

    /**
     * 续订成功通知
     */
    RENEWALS_RESULTS_NOTICE(13, "续订成功通知"),

    /**
     * 加购成功通知
     */
    PURCHASE_CONFIRMATION_RESULTS_NOTICE(14, "加购成功通知"),

    /**
     * 缴费成功通知
     */
    RENEW_CONFIRMATION_RESULTS_NOTICE(15, "缴费成功通知");

    int value;
    String name;

    MessageCenterTypeEnum(int value, String name) {
        this.value = value;
        this.name = name;
    }

    public int getValue() {
        return value;
    }

    public String getName() {
        return name;
    }

    /**
     * 通过value获取枚举的name
     *
     * @param value
     * @return
     */
    public static String getName(int value) {
        MessageCenterTypeEnum enumerate = getEnum(value);
        return enumerate == null ? null : enumerate.getName();
    }

    /**
     * 通过value获取枚举
     *
     * @param value
     * @return
     */
    public static MessageCenterTypeEnum getEnum(int value) {
        for (MessageCenterTypeEnum enumerate : MessageCenterTypeEnum.values()) {
            if (enumerate.getValue() == value) {
                return enumerate;
            }
        }
        return null;
    }
}
